Перейти к основному содержимому

Приложение 2. Конфигурация асинхронных сервисов VALO Cloud

Асинхронные сервисы VALO Cloud предназначены для:

  • обработки файлов, возникающих после загрузки их в Систему или изменения в онлайн-редакторе;
  • выполнения периодических задач;
  • информирования пользователей о произошедших системных и бизнес-событиях.

Настройки сервисов хранятся в конфигурационном файле:

$WILDFLY_HOME/standalone/configuration/valo-services.xml

Конфигурационный файл valo-services.xml позволяет определить:

  • общие настройки сервисов, перечисленные с идентификатором "DEFAULT",
  • уникальные настройки конкретного сервиса.

На данный момент в Системе существуют такие сервисы:

  • Сервис синхронизации мета-информации с клиентскими устройствами (SYNCHRO-POOL)

Параметры сервиса SYNCHRO-POOL:

ПараметрОписание
broker-urlfailover список доступных межсервисных брокеров в формате failover://tcp://localhost:61616…
client-broker-urlСписок доступных клиентских брокеров в формате stomp://localhost:61613,ws://localhost:61614
  • Сервис журналирования (JOURNAL-SERVICE)

Сервис JOURNAL-SERVICE позволяет осуществлять запись журналов VALO Cloud в:

  • поисковую систему ElasticSearch
  • SIEM-системы (SYSLOG)

Возможные параметры сервиса JOURNAL-SERVICE:

ПараметрОписание
log-typeТип регистратора (SYSLOG, ELASTIC)

Параметры для SYSLOG:

ПараметрОписание
pretty-jsonТип верстки сообщения (pretty-json / plain text). По умолчанию — false (plain text)
data-log-prefixПрефикс лога журнала данных
auth-log-prefixПрефикс лога журнала аутентификации
rights-log-prefixПрефикс лога журнала изменения прав доступа

Для логирования в SIEM-системы (SYSLOG) необходимо настроить обработчик на сервере приложений, например:

<сюда можно вставить пример конфигурации обработчика, если потребуется>

Если нужно, могу также привести пример настройки valo-services.xml или обработчика для SYSLOG.

Шаблон форматирования и категории журналирования log.auth, log.data, log.rights:

Настройка журналирования в VALO Cloud​

В результате настройки журналирования в файле $WILDFLY_HOME/standalone/configuration/standalone.xml должна быть представлена следующая информация, например, для пользовательского обработчика:

<custom-handler name="SYSLOG" class="org.jboss.logmanager.handlers.SyslogHandler" module="org.jboss.logmanager">
<encoding value="UTF-8"/>
<formatter>
<named-formatter name="SYSLOG-PATTERN"/>
</formatter>
<properties>
<property name="appName" value="valo"/>
<property name="facility" value="LOCAL_USE_7"/>
<property name="level" value="INFO"/>
<property name="serverHostname" value="localhost"/>
<property name="hostname" value="localhost"/>
<property name="port" value="514"/>
<property name="syslogType" value="RFC3164"/>
<property name="protocol" value="TCP"/>
<property name="messageDelimiter" value=""/>
<property name="useMessageDelimiter" value="false"/>
<property name="maxLength" value="9000"/>
<property name="truncate" value="false"/>
</properties>
</custom-handler>

<logger category="log.auth" use-parent-handlers="false">
<level name="INFO"/>
<handlers>
<handler name="SYSLOG"/>
</handlers>
</logger>

<logger category="log.data" use-parent-handlers="false">
<level name="INFO"/>
<handlers>
<handler name="SYSLOG"/>
</handlers>
</logger>

<logger category="log.rights" use-parent-handlers="false">
<level name="INFO"/>
<handlers>
<handler name="SYSLOG"/>
</handlers>
</logger>

<formatter name="SYSLOG-PATTERN">
<pattern-formatter pattern="%K{level}%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] %s%n"/>
</formatter>

Для приведённой конфигурации будет осуществляться запись журналов VALO Cloud в смежную систему SIEM/SYSLOG, расположенную по адресу localhost:514 (serverHostname:port), по протоколу TCP с использованием протокола SYSLOG, описанного в RFC 3164, с хоста localhost (hostname). В зависимости от смежной SIEM/SYSLOG системы шаблон форматирования pattern-formatter может отличаться.

Запись журналов в ElasticSearch​

Для записи журналов приложений VALO Cloud в поисковую систему ElasticSearch требуется указание индексов.
Индексы необходимо указывать в настройках сервиса ELASTIC-DAO (описание см. ниже). Сам сервис ELASTIC-DAO также должен быть сконфигурирован, а экземпляр ElasticSearch — доступен.

Возможные параметры сервиса ELASTIC-DAO для журналирования:

ПараметрОписание
elastic-log-data-indexИндекс журнала данных
elastic-log-auth-indexИндекс журнала аутентификации
elastic-log-rights-indexИндекс журнала изменения прав доступа

Журналирование BPM-движка Camunda​

Журналирование BPM-движка для автоматизации бизнес-процессов (Camunda) осуществляется путём настройки категории регистратора (logger category) org.camunda в файле:

$WILDFLY_HOME/standalone/configuration/standalone.xml

Например, для записи в файл:

<logger category="org.camunda" use-parent-handlers="false">
<level name="INFO"/>
<handlers>
<handler name="FILE"/>
</handlers>
</logger>

Дополнительные сервисы VALO Cloud​

  • Сервис разбора содержимого и мета-информации загруженного файла (ES-SERVICE)

Предназначен для дальнейшей публикации данных в ElasticSearch.

Параметры сервиса ES-SERVICE:

ПараметрОписание
max-charsМаксимальное количество символов индексации

  • Сервис публикации, обновления, удаления, поиска мета-информации в ElasticSearch (ELASTIC-DAO)

Для интеграции с ElasticSearch необходимо настроить следующие параметры:

Параметры сервиса ELASTIC-DAO:

ПараметрОписание
elastic-nodesУзлы кластера ElasticSearch. Список elastic-node
elastic-nodeУзел кластера ElasticSearch (FQDN, IP-адрес)
elastic-default-portПорт, по умолчанию 9200
elastic-default-protocolПротокол. По умолчанию http
elastic-file-indexНаименование индекса. По умолчанию files
elastic-clusterКластер ElasticSearch. По умолчанию elasticsearch
pass-throughОбход логики работы сервиса. При true сервис имитирует успешное завершение при недоступности ElasticSearch, не выключая задач постпроцессинга. По умолчанию — обычный режим
  • Сервис антивирусной защиты (AV-SERVICE)

Параметры сервиса AV-SERVICE

ПараметрОписание
scan-engineИспользуемый AV (CLAMAV, KSE, KESL)
pass-throughОбход логики работы сервиса. Если по каким-то причинам смежная система недоступна (или будет недоступна) длительное время, то значение true для этого параметра позволит имитировать успешное завершение работы сервиса не выключая задач постпроцессинга. Если значение true явно не указано, то сервис работает в обычном режиме
silentРежим тишины. Значение true отключает вывод в лог активности антивируса. Значение false – осуществляется запись в лог. Если явно не указано, принимается значение true (вывод в лог отключен)
Параметры CLAMAV/DR.WEB, Параметры KSE (Kaspersy Scan Engine), Параметры KESL (Kaspersky Endpoint Security для Linux)
hostХост сервиса, по умолчанию localhost
portПорт, по умолчанию 7000
platformТип ОС смежной системы, на которой базируется антивирус. По умолчанию UNIX
scan-methodМетод сканирования файла (STREAM, PATH). По умолчанию STREAM
kse-urlURL сервиса Kaspersky Scan Engine (например http://mc.iqr.su:7300)
kse-scan-methodИспользуемый метод сканирования SCANMEMORY или SCANFILE
kse-upbuffer-pathИспользуется для режима SCANFILE. Точка монтирования на хосте с KSE (mode 440 для пользователя, под которым работает KSE) буфера приема загружаемых файлов (upbuffer), например: $WILDFLY_HOME/storage/upbuffer/
kse-timeoutТаймаут сокетов (мс). При увеличении размера сканируемого файла может потребоваться увеличение значения. По умолчанию - 15000
kse-scanmemory-buffer-sizeРазмер буфера памяти (чанка), через который файл отправляется в KSE (байт). По умолчанию - 131072
kse-alternative-clean-responsesДополнительный список ответов KSE, сообщающих об отсутствии вируса. Если параметр "kse-alternative-clean-responses" не указан в valo_services.xml, то за чистый ответ принимается "CLEAN", остальные ответы - "DETECT". Если ответ KSE не входит в список ответов, указанных в "kse-alternative-clean-responses", то ответ принимается как "DETECT". По умолчанию принимается: DETECT - ответ KSE на обработку зараженного блока (файла) CLEAN - ответ KSE на обработку чистого блока (файла)
kesl-urlURL сервиса KESL (например http://kesl.valo.lab:8085/scans)
kesl-connect-timeoutТаймаут сокетов (мс). При увеличении размера сканируемого файла может потребоваться увеличение значения. По умолчанию - 60
kesl-read-timeoutТаймаут на ожидание ответа от KESL (мс). При увеличении размера сканируемого файла может потребоваться увеличение значения. По умолчанию - 60
kesl-write-timeoutТаймаут на ожидание передачу файла в KESL (мс). При увеличении размера сканируемого файла может потребоваться увеличение значения. По умолчанию - 60
kesl-x-api-keyКлюч авторизации в KESL. Необязательный параметр
kesl-alternative-clean-responsesДополнительный список ответов KESL, сообщающих об отсутствии вируса. Если параметр "kesl-alternative-clean-responses" не указан в valo_services.xml, то за чистый ответ принимается "CLEAN", остальные ответы - "DETECT". Если ответ KESL не входит в список ответов, указанных в "kesl-alternative-clean-responses", то ответ принимается как "DETECT" По умолчанию принимается: DETECT - ответ KESL на обработку зараженного блока (файла) CLEAN - ответ KESL на обработку чистого блока (файла)
  • сервис создания миниатюр/thumbnail (TN-SERVICE) для файлов, загружаемых в Систему

Параметры сервиса TN-SERVICE

ПараметрОписание
office-homeДомашняя папка установленного LibreOffice или OpenOffice (если не указать, будет автоопределение)
working-dirРабочая папка OfficeManager'a LibreOffice или OpenOffice в которой будут создаваться временные папки и файлы, по умолчанию - /tmp
initial-portНачальный порт пула коннектов (по умолчанию = 2012). В зависимости от размера пула, количество задействованных портов будет увеличиваться
task-queue-timeoutТаймаут ожидания свободного офисного процесса (мсек, по умолчанию = 30000)
task-execution-timeoutТаймаут исполнения задачи преобразования (мсек, по умолчанию = 120000)
process-timeoutТаймаут обращения к офисному процессу (start/terminate) (мсек, по умолчанию = 120000)
max-tasks-per-processМаксимум задач на один процесс, по умолчанию - 16
thumbnail-qualityКачество миниатюры (1.0% - 100.0%), по умолчанию – 70.0
Mini Thumbnail
widthШирина в пикселях. По умолчанию - 120
heightВысота в пикселях. По умолчанию - 120
Maxi Thumbnail
widthШирина в пикселях. По умолчанию - 480
heightВысота в пикселях. По умолчанию - 480
  • сервис, отвечающий за физическое перемещение файлов между хранилищами тенанта (FR-SERVICE);
  • шлюз (IW-GATE-SERVICE) к смежному сервису InfoWatch TM и ему подобным DLP-системам. В зависимости от реализации смежной Системы могут быть задействованы сервисы, контролирующие ответы на файловой системе (FS-WATCHER-SERVICE, FS-WATCHER-NOTIFY-HANDLER), в противном случае ответ от смежной Системы приходит с использованием протокола ICAP. Для интеграции с DLP-системой по протоколу ICAP следует настроить такие параметры:
ПараметрОписание
hostХост сервиса, по умолчанию localhost. (Параметр устарел. Используется для обратной совместимости)
portПорт, по умолчанию 1344. (Параметр устарел. Используется для обратной совместимости)
maximum-redeliveriesМакс. кол-во повторов сообщений (-1 для неограниченного количества)
urlURL DLP-системы формата http://host:port/resource
service-nameИмя метода ICAP, по умолчанию reqmod
profileПрофиль, по умолчанию default
allow-204Отключаем модификацию запроса в ответе ICAP, по умолчанию true
is-previewОтключаем возможность анализа запроса по первым previewBytes байтам, по умолчанию false
preview-bytesКоличество первых байт в запросе, по которым ICAP может принять решение, по умолчанию 0
proxy-hostОбщий прокси-сервер, именем которого оперируют сервера приложений для интеграции с ICAP-сервисом
timeoutТайм-аут (в мс) соединения с DLP-системой, по умолчанию 30000
silentРежим тишины. Значение true отключает вывод в лог запроса и ответа DLP-системы. Значение false – осуществляется запись в лог. Если явно не указано, принимается значение true (вывод в лог отключен)
pass-throughОбход логики работы сервиса. Если по каким-то причинам смежная система недоступна (или будет недоступна) длительное время, то значение true для этого параметра позволит имитировать успешное завершение работы сервиса не выключая задач постпроцессинга. Если значение true явно не указано, то сервис работает в обычном режиме
service-classКласс сервиса, обеспечивающий интеграцию с DLP-системой, по умолчанию - InfoWatchIcapGateService
encode-urlУправляет кодированием URL-запроса. Должно быть выключено для InfoWatch TM, по умолчанию - true
use-multipart-form-dataФлаг, позволяющий использовать multipart-form-data в запросах в сторону DLP, по умолчанию - true
  • шлюз (SANDBOX-GATE-SERVICE) к смежному SANDBOX-сервису. Настройки шлюза аналогичны IW-GATE-SERVICE при использовании протокола ICAP.

Параметры KATA (Kaspersky Anti Targeted Attack)

ПараметрОписание
service-classКласс сервиса, обеспечивающий интеграцию с SANDBOX-системой по протоколу ICAP, по умолчанию - SandboxIcapGateService
Параметры KATA (Kaspersky Anti Targeted Attack)
service-classSandboxKataGateService
urlURL сервиса KATA (например http://kata.valo.lab:443/kata/scanner/v1/sensors)
sensor-idID сенсора KATA, по умолчанию - valo
sensor-instance-idID экземпляра сенсора KATA, по умолчанию - 1
cert-file-pathПуть к клиентскому сертификату (в формате PKCS12) на сервере приложений
pass-phraseПароль к клиентскому сертификату
  • сервис формирования preview (PREVIEW-SERVICE);

Параметры сервиса PREVIEW-SERVICE

ПараметрОписание
office-homeДомашняя папка установленного LibreOffice или OpenOffice (если не указать, будет автоопределение)
working-dirРабочая папка OfficeManager'a LibreOffice или OpenOffice в которой будут создаваться временные папки и файлы, по умолчанию - /tmp
initial-portНачальный порт пула коннектов (по умолчанию = 2022). В зависимости от размера пула, количество задействованных портов будет увеличиваться
task-queue-timeoutТаймаут ожидания свободного офисного процесса (мсек, по умолчанию = 30000)
task-execution-timeoutТаймаут исполнения задачи преобразования (мсек, по умолчанию = 120000)
process-timeoutТаймаут обращения к офисному процессу (start/terminate) (мсек, по умолчанию = 120000)
max-tasks-per-processМаксимум задач на один процесс, по умолчанию - 16
  • пул сервисов OpenOffice или LibreOffice (PREVIEW-OFFICE-MANAGER-POOL) для формирования pdf-preview;

Параметры пула сервисов PREVIEW-OFFICE-MANAGER-POOL

ПараметрОписание
office-homeДомашняя папка установленного LibreOffice или OpenOffice (если не указать, будет автоопределение)
working-dirРабочая папка OfficeManager'a LibreOffice или OpenOffice в которой будут создаваться временные папки и файлы, по умолчанию - /tmp
initial-portНачальный порт пула коннектов (по умолчанию = 2002). В зависимости от размера пула, количество задействованных портов будет увеличиваться
task-queue-timeoutТаймаут ожидания свободного офисного процесса (мсек, по умолчанию = 30000)
task-execution-timeoutТаймаут исполнения задачи преобразования (мсек, по умолчанию = 120000)
process-timeoutТаймаут обращения к офисному процессу (start/terminate) (мсек, по умолчанию = 120000)
max-tasks-per-processМаксимум задач на один процесс (по умолчанию = 200)
  • сервис отправки SMS-сообщений через шлюз Kannel (SMS-GATE-SERVICE); Каждый тенант может использовать свой SMS-шлюз для SMS-уведомлений

Параметры сервиса SMS-GATE-SERVICE

ПараметрОписание
sms_send_urlURL шлюза Kannel http://127.0.0.1:13013/cgi-bin/sendsms
sms_sender_nameИмя пользователя отправителя сообщения
sms_sender_passwordПароль
sms_fromСтрока, формирующая поле “От кого” (отправитель). Макс. 11 симолов
sms_validity_periodВремя жизни SMS-сообщения в минутах (максимум – 1440, по-умолчанию - 720).
  • сервис отправки eMail-сообщений (SMTP-GATE-SERVICE);

Параметры сервиса SMTP-GATE-SERVICE

ПараметрОписание
smtp_authИспользуем smtp-аутентификацию
smtp_usernameИмя пользователя
smtp_passwordПароль
smtp_starttlsСоздаем зашифрованное соединение с SMTP-сервером
smtp_hostАдрес SMTP-сервера
smtp_portПорт
smtp_sender_nameИмя отправителя
smtp_sender_emailАдрес электронной почты отправителя
smtp_reply_to_emailАдрес электронной почты для ответов
  • сервис, формирующий архивы (ZIP-SERVICE);
  • сервис, удаляющий файлы из хранилищ тенанта (FD-SERVICE);
  • сервис шифрования (ENC-SERVICE); Непосредственно сам сервис шифрования не имеет специфичных настроек, однако в зависимости от развернутого при установке плагина (plugin-trans-256 или plugin-transform) допускается использование алгоритмов шифрования “AES-256” или “ГОСТ Р 34.12-2015”. В конфигурационном файле valo-services.xml в этом случае появится запись об используемом плагине, например <plugin id="VAC-Transform"...> или <plugin id="VAC-Trans-256 "...>;
  • сервис отправки Push-уведомлений через Google FCM (FCM-GATE-SERVICE). Каждый тенант может использовать свой шлюз для Push-уведомлений

Параметры сервиса FCM-GATE-SERVICE

ПараметрОписание
firebase_urlFCM URL к базе проекта VALO https://valo3-dc001.firebaseio.com
firebase_account_pathПуть к файлу, содержащему учетную запись проекта в FCM $WILDFLY_HOME/fcm/default/valo3-dc001-firebase.json
default_ttlВремя жизни пуш-уведомлений По умолчанию 24 часа

· сервис рассылки комментариев посредством сообщений синхронизации (SYNC-NOTIFY-SERVICE); · сервис репликации сущностей (ENTITY-TRANSFER-SERVICE), использующийся для формирования уведомлений по произошедшим бизнес-событиям. При настройке сервиса ENTITY-TRANSFER-SERVICE следует обратить особое внимание на такие параметры:

Параметры сервиса ENTITY-TRANSFER-SERVICE

ПараметрОписание
maximum-redeliveriesМакс. кол-во повторов сообщений (-1 for unlimited). Рекомендуемое начальное значение = -1
use-exponential-backoffИспользовать экспоненциальное увеличение задержки повтора. Рекомендуемое начальное значение = true
backoff-multiplierКоэффициент экспоненциального увеличения задержки повтора. Рекомендуемое начальное значение = 2
initial-redelivery-delayНачальная задержка повтора в миллисекундах. Рекомендуемое начальное значение = 1000
maximum-redelivery-delayМаксимальная задержка повтора в миллисекундах (-1 for unlimited). Рекомендуемое начальное значение = 16000
use-collision-avoidanceИспользование collision avoidance. Рекомендуемое начальное значение = true
collision-avoidance-percentПроцент collision avoidance (0-100). Рекомендуемое начальное значение = 20
pass-throughОбход логики работы сервиса. Если по каким-то причинам смежная система недоступна (или будет недоступна) длительное время, то значение true для этого параметра позволит имитировать успешное завершение работы сервиса. Если значение true явно не указано, то сервис работает в обычном режиме
  • сервис заполнения пользовательской ленты событий (EVENTS-FEED-FILLER-SERVICE) по произошедшим бизнес-событиям. Настройка сервиса EVENTS-FEED-FILLER-SERVICE аналогична настройке сервиса ENTITY-TRANSFER-SERVICE;
  • сервис обработки системных событий (SYS-NOTIFY-SERVICE), использующийся для формирования уведомлений по произошедшим системным-событиям
  • сервис с идентификатором PRODUCERS-POOL не является сервисом как таковым, однако определяет общие параметры для издателей JMS-сообщений

Комментарии к остальным параметрам сервисов:

ПараметрОписание
<broker-url>URL, содержащий список брокеров для межсервисного взаимодействия. Для обеспечения отказоустойчивости должен содержать ключевое слово failover. Например: <broker-url>failover:(tcp://localhost:61616,tcp://remotehost:61617)?initialReconnectDelay=10&randomize=false</broker-url>. В зависимости от используемого механизма аутентификации может быть представлен в виде <broker-url>failover:(ssl://localhost:61616,ssl://remotehost:61617)?initialReconnectDelay=10&randomize=false</broker-url>. initialReconnectDelay определяет задержку в 10 мс перед первой попыткой произвести повторное подключение; Параметр randomize отключает (false) случайный выбор доступного брокера.
<username>, <password>Используются для аутентификации сервисов на брокере посредством пары логин/пароль
<keystore-path>, <keystore-password>, <truststore-path>, <truststore-password>Используются для ssl-аутентификации сервисов на брокере
<client-broker-url>URL, содержащий список брокеров для взаимодействия с клиентской частью приложения. Формат записи похож на broker-url> Например: <client-broker-url>stomp://mc.iqr.su:61613,ws://mc.iqr.su:61614</client-broker-url>. Клиентская часть приложения не использует механизмов ssl для аутентификации. Клиентские брокеры не обеспечены failover механизмом. Ожидается, что отказоустойчивое соединение с ними должно быть реализовано на уровне клиентской части приложения или в проксирующем слое. Поэтому, если клиентский брокер и межсервисный брокер расположены на одних и тех же хостах или это один и тот же брокер, то последовательность клиентских брокеров следует указывать согласно последовательности межсервисных брокеров, указанных в параметре <broker-url>.
<pool-size>Количество экземпляров сервисов. Для "пресейл" активности достаточно иметь не более "2" экземпляров каждого сервиса. Для "предпрод" - не менее "4" экземпляров, для "прод" - по количеству тенантов (но не менее двух)
<queue-name>Наименование очереди консюмера асинхронного сервиса VALO Cloud. По умолчанию именуется как $SERVICE_NAME.InputQueue, например FR-SERVICE.InputQueue
maximum-redeliveriesКоличество повторов сообщений. По умолчанию = 6, не ограниченно = -1. Справедливо для всех сервисов кроме SMTP-GATE-SERVICE, ELASTIC-DAO, FCM-GATE-SERVICE

Общие замечания

Поскольку сервера приложений могут обмениваться между собой информацией об изменении в конфигурации сервисов посредством топика "JMS-SERVICES.CONFIG-CHANGES.Topic" КРАЙНЕ ВАЖНО при развертывании очередного сервера приложений в дополнение к существующим обеспечить его актуальным файлом valo-services.xml!

Значение параметра <broker-url> должно совпадать на всех используемых серверах приложений!

Если какой-либо сервис не используется и его использование не предпологается, то в целях сокращения потребляемой памяти следует уменьшить количество экземпляров сервиса до нуля <pool-size>0</pool-size>.

Не следует стремиться использовать всю доступную память в JVM heap. Для нормальной работы сервисов оставляйте нераспределенными не менее 2Gb под асинхронные сервисы VALO Cloud.

Пример файла valo-services.xml

<valo-services-configuration xmlns="urn:iqr:valo:pro:3.0">
<services>
<!--
Значения параметров "по умолчанию".
Если аналогичный параметр не определен в другой секции "service",
то при чтении он принимает значение из секции "DEFAULT".
-->
<service id="DEFAULT">
<broker-url>failover://tcp://localhost:61616</broker-url>
<!-- <broker-url>ssl://localhost:61617</broker-url> -->
<pool-size>2</pool-size>
<!--
username и password используются для аутентификации (и, возможно, авторизации) пользователя в ActiveMQ (если они там настроены).
-->
<username>publisher</username>
<password>password</password>
<!--
Параметры ниже используются только если коннект выполняется через ssl-акцептор
-->
<keystore-path>/opt/activemq/conf/myclient.ks</keystore-path>
<keystore-password>d5nH7z//SkJcF2cLQJac80b+JNpkFR9mvru5iwiqlH5PjYYtI8nDS/f1se8V6cLw7xU7+9PT</keystore-password>
<truststore-path>/opt/activemq/conf/myclient.ts</truststore-path>
<truststore-password>YWRW5eZOFhm/BH7CcZ8c+sfxB6Zi5AvPXMHMbevXjmsRlcvJH9/xb+jPgYD4aVDgQaOH+XXe</truststore-password>
<!--
Параметр добавляется автоматически. Вручную не менять!
-->
<plugin id="VAC-Transform" jndi="java:jboss/exported/transform-plugin-1.0.0.0/transform-plugin-1.0.0.0/TransformPlugin!pro.valo.iqreserve.plugins.ITransformPlugin" timestamp="20240211050710241023" type="transform"/>
<plugin id="VAC-Trans-256" jndi="java:jboss/exported/trans-256-plugin-1.0.0.0/trans-256-plugin-1.0.0.0/Trans256Plugin!pro.valo.iqreserve.plugins.ITransformPlugin" timestamp="20240211050710241023" type="transform"/>
<plugin id="VAS-S3" jndi="java:jboss/exported/storage-plugins-1.0.0.0/ac3-plugin-1.0.0.0/Ac3FilePlugin!pro.valo.iqreserve.plugins.IFilePlugin" timestamp="20240211050710814391" type="storage"/>
<plugin id="VAS-FileSystem" jndi="java:jboss/exported/valorest-3.0.0.0/FileModuleBaseFilePlugin!pro.valo.iqreserve.plugins.IFilePlugin" timestamp="20240211050710814391" type="storage"/>
</service>
<service id="SYNCHRO-POOL">
<broker-url>failover://tcp://localhost:61616</broker-url>
<client-broker-url>stomp://localhost:61613,ws://localhost:61614</client-broker-url>
<pool-size>8</pool-size>
</service>
<!--
Параметры пула jms-продюсеров API.
-->
<service id="PRODUCERS-POOL">
<pool-size>8</pool-size>
</service>
<!--
Параметры пула jms-продюсеров сервисов.
-->
<service id="SERVICES-PRODUCERS-POOL">
<pool-size>8</pool-size>
</service>
<!-- Параметры jms-консьюмеров сервиса "JOURNAL-SERVICE" (логирование). -->
<service id="JOURNAL-SERVICE">
<pool-size>1</pool-size>
<log-types>
<!-- <log-type type="ELASTIC"/> -->
<!-- <log-type type="CONSOLE"/> -->
<log-type type="SYSLOG">
<auth-log-prefix>log</auth-log-prefix>
<data-log-prefix>log</data-log-prefix>
<rights-log-prefix>log</rights-log-prefix>
<!-- Тип верстки сообщения ('pretty-json' / 'plain text'). По умолчанию 'plain text' -->
<pretty-json>false</pretty-json>
</log-type>
</log-types>
</service>
<!-- Параметры jms-консьюмеров сервиса "ES-SERVICE" (ElasticSearch). -->
<service id="ES-SERVICE">
<max-chars>200000</max-chars>
<!-- Максимальное количество символов индексации -->
</service>
<!-- Параметры сервиса DAO ElasticSearch. -->
<service id="ELASTIC-DAO">
<elastic-nodes>
<elastic-node>
<host>elasticsearch</host>
</elastic-node>
<!-- <elastic-node>
<host>10.0.110.130</host>
</elastic-node>
<elastic-node>
<host>10.0.110.134</host>
</elastic-node>
<elastic-node>
<host>10.0.110.135</host>
</elastic-node> -->
</elastic-nodes>
<!-- Адрес ES -->
<elastic-default-port>9200</elastic-default-port>
<!-- Порт ES -->
<elastic-default-protocol>http</elastic-default-protocol>
<elastic-file-index>files</elastic-file-index>
<!-- Наименование индекса -->
<elastic-cluster>elasticsearch</elastic-cluster> --&gt;
<!-- Кластер ES-->
</service>
<!--
Параметры jms-консьюмеров сервиса "AV".
-->
<!--
Параметры jms-консьюмеров сервиса "AV".
-->
<service id="AV-SERVICE">
<pool-size>2</pool-size>
<queue-name>AV-SERVICE.InputQueue</queue-name>
<!-- Режим обхода смежной системы -->
<pass-through>false</pass-through>
<!-- Режим записи в лог. false - лог пишется -->
<silent>false</silent>
<!-- CLAMAV или KSE. Если engine не указан, то будет использован CLAMAV -->
<scan-engine>KSE</scan-engine>
<!-- Параметры для CLAMAV -->
<host>127.0.0.1</host>
<port>3310</port>
<!-- UNIX, WINDOWS или JVM_PLATFORM -->
<platform>WINDOWS</platform>
<!-- PATH или STREAM -->
<scan-method>PATH</scan-method>
<!-- Параметры для KSE -->
<!-- KSE URL -->
<kse-url>http://mc.iqr.su:7300</kse-url>
<!-- Scan method (SCANMEMORY или SCANFILE) -->
<kse-scan-method>SCANFILE</kse-scan-method>
<!-- Путь, как виден апбуфер со стороны kse-хоста -->
<kse-upbuffer-path>/opt/wildfly/storage/upbuffer/</kse-upbuffer-path>
<!-- Socket Timeout in msec -->
<kse-timeout>15000</kse-timeout>
<!-- Scanmemory buffer size in bytes -->
<kse-scanmemory-buffer-size>131072</kse-scanmemory-buffer-size>
<!-- Alterantive clean responses list -->
<kse-alternative-clean-responses>
<response>NON_SCANNED</response>
<response>NON_SCANNED (CANCELED)</response>
<response>NON_SCANNED (CORRUPTED)</response>
<response>NON_SCANNED (ACCESS DENIED)</response>
<response>NON_SCANNED (SKIPPED)</response>
<response>NON_SCANNED (PASSWORD PROTECTED)</response>
</kse-alternative-clean-responses>
<!-- Параметры для KESL -->
<!-- KESL URL -->
<kesl-url>http://tika.valo.lab:8085/scans</kesl-url>
<!-- Таймауты в секундах -->
<kesl-connect-timeout>60</kesl-connect-timeout>
<kesl-read-timeout>60</kesl-read-timeout>
<kesl-write-timeout>60</kesl-write-timeout>
<!-- Необязательный параметр x-api-key -->
<kesl-x-api-key/>
<!-- Alternative clean responses list -->
<kesl-alternative-clean-responses>
<response>non scanned</response>
</kesl-alternative-clean-responses>
</service>
<!--
Параметры jms-консьюмеров сервиса "TN".
-->
<service id="TN-SERVICE">
<pool-size>1</pool-size>
<queue-name>TN-SERVICE.InputQueue</queue-name>
<thumbnailer>
<mini-thumbnail>
<!-- mini-превьюшка -->
<width>120</width>
<!-- ширина в пикселях -->
<height>120</height>
<!-- высота в пикселях -->
</mini-thumbnail>
<maxi-thumbnail>
<!-- maxi-превьюшка -->
<width>480</width>
<!-- ширина в пикселях -->
<height>480</height>
<!-- высота в пикселях -->
</maxi-thumbnail>
<!-- Качество превьюшки: float 1.0-100.0% -->
<thumbnail-quality>70.0</thumbnail-quality>
<!-- домашняя папка установленного LibreOffice или OpenOffice (если не указать, будет автоопределение) -->
<office-home>/usr/lib64/libreoffice</office-home>
<!-- начальный порт пула коннектов (если не указать, то по умолчанию = 2002) -->
<initial-port>2012</initial-port>
<!-- таймаут ожидания свободного офисного процесса (мсек, default = 30000) -->
<task-queue-timeout>60000</task-queue-timeout>
<!-- таймаут исполнения задачи преобразования (мсек, default = 120000) -->
<task-execution-timeout>60000</task-execution-timeout>
<!-- таймаут обращения к офисному процессу (start/terminate) (мсек, default = 120000) -->
<process-timeout>60000</process-timeout>
<!-- максимум задач на один процесс (default = 200) -->
<max-tasks-per-process>16</max-tasks-per-process>
<!-- рабочая папка OfficeManager'a в которой будут создаваться временные папки и файлы, по умолчанию - /tmp -->
<working-dir>/tmp/office-manager</working-dir>
</thumbnailer>
<!-- Настройки Graphics-Magick'a -->
<graphics-magick>
<supported_file_extensions>3fr,arw,bie,bmp,bmpf,cals,ciff,cr2,crw,cut,dcr,dib,dng,dpx,emf,epdf,epi,eps,eps2,eps3,epsf,epsi,erf,fits,fpix,fpx,g3,gif,giff,gp4,hrz,j2c,j2k,jbg,jbig,jng,jp2,jpc,jpeg,jpeg2000,jpf,jpg,jpg2,jpx,kdc,mac,mat,mef,miff,mil,mng,mrw,mtv,mvg,nef,npx,orf,otb,p7,palm,pam,pbm,pcd,pcds,pct,pcx,pdb,pef,pfa,pfb,pgm,picon,pict,png,png00,png24,png32,png48,png64,png8,pnm,ppm,ps,ps2,ps3,ptif,raf,rl4,rl8,rla,sfw,sgi,sr2,srf,sun,svg,svgz,tga,tif,tiff,ttf,vga,vicar,viff,wbmp,webp,wmf,x3f,xbm,xpm</supported_file_extensions>
</graphics-magick>
</service>
<!--
Параметры jms-консьюмеров сервиса "File-Relocation".
-->
<service id="FR-SERVICE">
<pool-size>3</pool-size>
<queue-name>FR-SERVICE.InputQueue</queue-name>
</service>
<!--
Параметры jms-консьюмеров сервиса "InfoWatch-Gate".
-->
<service id="IW-GATE-SERVICE">
<pool-size>4</pool-size>
<queue-name>IW-GATE-SERVICE.InputQueue</queue-name>
<!-- Режим pass-through -->
<pass-through>false</pass-through>
<!-- Режим записи в лог. false - лог пишется -->
<silent>false</silent>
<!-- Макс. кол-во повторов сообщений (-1 for unlimited) -->
<maximum-redeliveries>0</maximum-redeliveries>
<!-- IW Thrift service и его параметры -->
<!--
<service-class>InfoWatchThriftGateService</service-class>
<host>localhost</host>
<port>9101</port>
<company-name>Intellektualnyj_Rezerv</company-name>
<token>fd91y7xxeqi81btukppe</token>
-->
<!-- ICAP service и его параметры -->
<service-class>InfoWatchIcapGateService</service-class>
<pool-size>2</pool-size>
<host>10.0.110.141</host>
<port>1344</port>
<service-name>reqmod</service-name>
<!-- Отключаем модификацию запроса -->
<allow-204>true</allow-204>
<!-- Режим предпросмотра сообщений -->
<is-preview>false</is-preview>
<!-- Режим сообщения в режиме предпросмотра -->
<preview-bytes>4096</preview-bytes>
<!-- Управляет кодированием URL-запроса. Должно быть выключено для InfoWatch TM -->
<encode-url>true</encode-url>
<!-- Общий прокси-сервер, именем которого оперируют сервера приложений для интеграции с ICAP-сервисом -->
<proxy-host>cloud.psbbank.ru</proxy-host>
<!-- Socket Timeout, ms -->
<timeout>30000</timeout>
<!-- StaffCop service и его параметры -->
<service-class>InfoWatchIcapGateService</service-class>
<pool-size>2</pool-size>
<url>http://localhost:13440/staffcop</url>
<service-name>reqmod</service-name>
<use-multipart-form-data>true</use-multipart-form-data>
</service>
<!--
Параметры jms-консьюмеров сервиса "SandBox-Gate".
-->
<service id="SANDBOX-GATE-SERVICE">
<!-- ОБЩИЕ ПАРАМЕТРЫ -->
<!-- Размер пула -->
<pool-size>4</pool-size>
<!-- Входная очередь -->
<queue-name>SANDBOX-GATE-SERVICE.InputQueue</queue-name>
<!-- Режим обхода сервиса -->
<pass-through>false</pass-through>
<!-- Режим записи в лог. false - лог пишется -->
<silent>false</silent>
<!-- Socket Timeout, ms -->
<timeout>30000</timeout>
<!-- SANDBOX ICAP GATE SERVICE и его параметры -->
<!-- Класс сервиса -->
<service-class>SandboxIcapGateService</service-class>
<!-- Хост ICAP-сервис -->
<host>localhost</host>
<!-- Порт ICAP-сервис -->
<port>9090</port>
<!-- URL ICAP-сервиса -->
<!-- Хост и порт оставлены для обратной совместимости -->
<url>http://localhost:1344/reqmod</url>
<!-- Режим работы ICAP-сервиса (сервис) -->
<service-name>REQMOD</service-name>
<!-- Отключаем модификацию запроса -->
<allow-204>true</allow-204>
<!-- Режим предпросмотра сообщений -->
<is-preview>false</is-preview>
<!-- Общий прокси-сервер, именем которого оперируют сервера приложений для интеграции с ICAP-сервисом -->
<proxy-host>cloud.psbbank.ru</proxy-host>
<!-- SANDBOX KATA GATE SERVICE и его параметры -->
<!-- Класс сервиса -->
<service-class>SandboxKataGateService</service-class>
<!-- URL KATA API -->
<url>https://213.247.136.206:443/kata/scanner/v1/sensors</url>
<!-- ID сенсора KATA -->
<sensor-id>valo</sensor-id>
<!-- ID экземпляра сенсора KATA -->
<sensor-instance-id>instance1</sensor-instance-id>
<!-- Путь к клиентскому сертификату (в формате PKCS12) -->
<cert-file-path>D:\0\271\cert2.p12</cert-file-path>
<!-- Пароль к клиентскому сертификату -->
<pass-phrase>123</pass-phrase>
</service>
<!--
Параметры jms-продюсеров сервиса "FS-Watcher".
-->
<service id="FS-WATCHER-SERVICE">
<pool-size>3</pool-size>
<queue-name>FS-WATCHER-SERVICE.OutputQueue</queue-name>
<watch-path>/opt/jboss/wildfly/tmp</watch-path>
<out-path>/opt/jboss/wildfly/tmp</out-path>
</service>
<!--
Параметры jms-консьюмеров обработки уведомлений от сервиса "FS-Watcher".
-->
<service id="FS-WATCHER-NOTIFY-HANDLER">
<pool-size>2</pool-size>
<queue-name>FS-WATCHER-SERVICE.OutputQueue</queue-name>
</service>
<!--
Параметры jms-консьюмеров сервиса "PREVIEW-SERVICE".
-->
<service id="PREVIEW-SERVICE">
<pool-size>1</pool-size>
<!-- домашняя папка установленного LibreOffice или OpenOffice (если не указать, будет автоопределение) -->
<office-home>/usr/lib64/libreoffice</office-home>
<!-- начальный порт пула коннектов (если не указать, то по умолчанию = 2002) -->
<initial-port>2022</initial-port>
<!-- таймаут ожидания свободного офисного процесса (мсек, default = 30000) -->
<task-queue-timeout>30000</task-queue-timeout>
<!-- таймаут исполнения задачи преобразования (мсек, default = 120000) -->
<task-execution-timeout>60000</task-execution-timeout>
<!-- таймаут обращения к офисному процессу (start/terminate) (мсек, default = 120000) -->
<process-timeout>60000</process-timeout>
<!-- максимум задач на один процесс (default = 200) -->
<max-tasks-per-process>2</max-tasks-per-process>
<!-- рабочая папка OfficeManager'a в которой будут создаваться временные папки и файлы, по умолчанию - /tmp -->
<working-dir>/tmp/office-manager</working-dir>
</service>
<!--
Параметры пула офис-менеджера, использующегося для генерации preview pdf-файлов.
-->
<service id="PREVIEW-OFFICE-MANAGER-POOL">
<!-- число офисных процессов в пуле -->
<pool-size>1</pool-size>
<!-- домашняя папка установленного LibreOffice или OpenOffice (если не указать, будет автоопределение) -->
<office-home>/usr/lib64/libreoffice</office-home>
<!-- начальный порт пула коннектов (default = 2002) -->
<initial-port>2002</initial-port>
<!-- таймаут ожидания свободного офисного процесса (мсек, default = 30000) -->
<task-queue-timeout>60000</task-queue-timeout>
<!-- таймаут исполнения задачи преобразования (мсек, default = 120000) -->
<task-execution-timeout>60000</task-execution-timeout>
<!-- таймаут обращения к офисному процессу (start/terminate) (мсек, default = 120000) -->
<process-timeout>60000</process-timeout>
<!-- максимум задач на один процесс (default = 200) -->
<max-tasks-per-process>16</max-tasks-per-process>
<!-- рабочая папка OfficeManager'a в которой будут создаваться временные папки и файлы, по умолчанию - /tmp -->
<working-dir>/tmp/office-manager</working-dir>
</service>
<!--
Параметры jms-консьюмеров, отправляющих СМС-сообщения через шлюз kannel.
-->
<service id="SMS-GATE-SERVICE">
<pool-size>1</pool-size>
<!-- Параметры по умолчанию, могут быть перекрыты для каждого тенанта -->
<tenant id="DEFAULT">
<sms_send_url>http://127.0.0.1:13013/cgi-bin/sendsms</sms_send_url>
<sms_sender_name>sender</sms_sender_name>
<sms_sender_password>sender_password</sms_sender_password>
<!-- from, max 11 chars -->
<sms_from>VALO3</sms_from>
<!-- validity-period in minutes, max = 1440 -->
<sms_validity_period>720</sms_validity_period>
</tenant>
<!-- Индивидуальные настройки тенантов -->
<tenant id="public">
<!-- from, max 11 chars -->
<sms_from>IQ-RESERVE</sms_from>
</tenant>
<tenant id="tenant1">
<!-- from, max 11 chars -->
<sms_from>TENANT1</sms_from>
<sms_sender_name>tenant1</sms_sender_name>
<sms_sender_password>tenant1_password</sms_sender_password>
</tenant>
</service>
<!--
Параметры jms-консьюмеров, отправляющих email-сообщения.
-->
<service id="SMTP-GATE-SERVICE">
<!-- Параметры по умолчанию, могут быть перекрыты для каждого тенанта -->
<tenant id="DEFAULT">
<smtp_host>localhost</smtp_host>
<smtp_port>25</smtp_port>
<smtp_starttls>true</smtp_starttls>
<smtp_auth>true</smtp_auth>
<smtp_username>noreply@iqr.su</smtp_username>
<smtp_password>smtp_password</smtp_password>
</tenant>
<!-- Индивидуальные настройки тенантов добавляются автоматически из сеттингов тенанта -->
<tenant id="tenant2" timestamp="20191003075001711471">
<smtp_host>mymail.somecollege.edu</smtp_host>
<smtp_port>12121212</smtp_port>
</tenant>
<tenant id="dummy" timestamp="20210623132709344643"/>
</service>
<!--
Параметры jms-консьюмеров FD-сервиса
-->
<service id="FD-SERVICE"/>
<!--
Параметры jms-консьюмеров ENC-сервиса
-->
<service id="ENC-SERVICE"/>
<!--
Параметры jms-консьюмеров ZIP-сервиса
-->
<service id="ZIP-SERVICE"/>
<!--
Параметры jms-консьюмеров SYNC-NOTIFY-сервиса
-->
<service id="SYNC-NOTIFY-SERVICE"/>
<!--
Параметры jms-консьюмеров, отправляющих Push-уведомления с помощью Google FCM.
-->
<service id="FCM-GATE-SERVICE">
<pool-size>2</pool-size>
<queue-name>FCM-GATE-SERVICE.InputQueue</queue-name>
<!-- Параметры по умолчанию, могут быть перекрыты для каждого тенанта -->
<tenant id="DEFAULT">
<!-- FCM URL к базе проекта VALO -->
<firebase_url>https://valo3-dc001.firebaseio.com</firebase_url>
<!-- Учетная запись проекта в FCM -->
<firebase_account_path>/opt/jboss/wildfly/fcm/default/valo3-dc001-firebase.json</firebase_account_path>
<!-- Время жизни пуш-уведомлений в часах -->
<default_ttl>24</default_ttl>
</tenant>
<!-- Индивидуальные настройки тенантов добавляются автоматически из сеттингов тенанта -->
<tenant id="dummy" timestamp="20210623132709344643"/>
</service>
<!--
Параметры jms-консьюмеров сервиса репликации сущностей в БД уведолмений.
-->
<service id="ENTITY-TRANSFER-SERVICE">
<pool-size>8</pool-size>
<!-- Режим обхода сервиса -->
<pass-through>true</pass-through>
<!-- Макс. кол-во повторов сообщений (-1 for unlimited) -->
<maximum-redeliveries>-1</maximum-redeliveries>
<!-- Использовать экспоненциальное увеличение задержки повтора -->
<use-exponential-backoff>true</use-exponential-backoff>
<!-- Коэффициент экспоненциального увеличения задержки повтора -->
<backoff-multiplier>2</backoff-multiplier>
<!-- Начальная задержка повтора в миллисекундах -->
<initial-redelivery-delay>1000</initial-redelivery-delay>
<!-- Максимальная задержка повтора в миллисекундах (-1 for unlimited) -->
<maximum-redelivery-delay>16000</maximum-redelivery-delay>
<!-- Использовать collision avoidance -->
<use-collision-avoidance>true</use-collision-avoidance>
<!-- Процент collision avoidance (0-100) -->
<collision-avoidance-percent>20</collision-avoidance-percent>
</service>
<!--
Параметры jms-консьюмеров сервиса заполнения ленты событий.
-->
<service id="EVENTS-FEED-FILLER-SERVICE">
<pool-size>4</pool-size>
<!-- Макс. кол-во повторов сообщений (-1 for unlimited) -->
<maximum-redeliveries>-1</maximum-redeliveries>
<!-- Использовать экспоненциальное увеличение задержки повтора -->
<use-exponential-backoff>true</use-exponential-backoff>
<!-- Коэффициент экспоненциального увеличения задержки повтора -->
<backoff-multiplier>2</backoff-multiplier>
<!-- Начальная задержка повтора в миллисекундах -->
<initial-redelivery-delay>1000</initial-redelivery-delay>
<!-- Максимальная задержка повтора в миллисекундах (-1 for unlimited) -->
<maximum-redelivery-delay>16000</maximum-redelivery-delay>
<!-- Использовать collision avoidance -->
<use-collision-avoidance>true</use-collision-avoidance>
<!-- Процент collision avoidance (0-100) -->
<collision-avoidance-percent>20</collision-avoidance-percent>
</service>
</services>
</valo-services-configuration>